package yunjiao.javatutorials.mq.model;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 *  MQ主题配置枚举（统一管理交换机/队列/路由键，避免硬编码）
 *
 * @author yangyunjiao
 */
@Getter
@AllArgsConstructor
public enum MqTopicEnum {
    // 用户表数据同步
    USER_DATA_SYNC(
            "user.data.sync.exchange",  // 交换机名称
            "user.data.sync.queue",     // 队列名称
            "user.data.sync.routing.key"// 路由键
    ),
    // 订单表数据同步
    ORDER_DATA_SYNC(
            "order.data.sync.exchange",
            "order.data.sync.queue",
            "order.data.sync.routing.key"
    ),
    // 产品表数据同步（可扩展）
    PRODUCT_DATA_SYNC(
            "product.data.sync.exchange",
            "product.data.sync.queue",
            "product.data.sync.routing.key"
    );

    private final String exchange;  // 交换机
    private final String queue;     // 队列
    private final String routingKey; // 路由键
}
